﻿Shader "camera_trans"
{
	Properties
	{
		_MainTex ("Texture", 2D) = "white" {}
		_SubMainTex ("SubMainTex", 2D) = "white" {}
		_MoveDis ("MoveDis", range(0, 1)) = 0
	}
	SubShader
	{
		Tags { "RenderType"="Opaque" }
		LOD 100

		Pass
		{
			CGPROGRAM
			#pragma vertex vert
			#pragma fragment frag
			// make fog work
			#pragma multi_compile_fog
			
			#include "UnityCG.cginc"

			struct appdata
			{
				float4 vertex : POSITION;
				float2 uv : TEXCOORD0;
			};/*  */

			struct v2f
			{
				float2 uv : TEXCOORD0;
				UNITY_FOG_COORDS(1)
				float4 vertex : SV_POSITION;
			};

			sampler2D _MainTex;
			float4 _MainTex_ST;
			sampler2D _SubMainTex;
			float4 _SubMainTex_ST;
			float _MoveDis;
			
			v2f vert (appdata v)
			{
				v2f o;
				o.vertex = UnityObjectToClipPos(v.vertex);
				o.uv = TRANSFORM_TEX(v.uv, _MainTex);
				return o;
			}
			
			fixed4 frag (v2f i) : SV_Target
			{
				i.uv.x += _MoveDis;
				fixed4 col = tex2D(_MainTex, i.uv);
				if (i.uv.x > 1){
					col = tex2D(_SubMainTex, i.uv.xy - float2(1, 0));
				}
				return col;
			}
			ENDCG
		}
	}
}
